草庐IT

python - 是否有 subprocess.call 的安静版本?

全部标签

ruby - 是否有任何你避免使用的 Ruby 语言特性?

在我看来,Ruby的句法非常灵活,很多东西可以用多种方式编写。作为Ruby程序员,有没有什么语言特性/语法糖/编码约定是您避免清楚的?我问的是您选择有意不使用的东西,而不是您仍然需要学习的东西。如果您的回答是“我什么都用!”,如果读者知道相关的Ruby语法,您是否曾经对代码进行注释?[我对RoR上下文中的Ruby特别感兴趣,但欢迎一切。] 最佳答案 “$”全局变量的整个范围(参见Pickaxe2pp333-336)大多继承自Perl,非常可怕,尽管我有时发现自己使用$:而不是$LOAD_PATH.

ruby - 是否有特定的函数来检索然后删除随机数组元素?

我知道我可以通过几个步骤完成此操作,但想知道是否有可以实现此目的的函数。我想排列#sample,然后删除检索到的元素。 最佳答案 这个怎么样:array.delete_at(rand(array.length)) 关于ruby-是否有特定的函数来检索然后删除随机数组元素?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10988525/

ruby-on-rails - Carreirwave - 如何直接从保存的文件名创建版本名称

我正在为已上传到我的应用程序的文件创建缩略图。图像名称中有一个时间戳代码。当我运行recreate_versions时,生成的缩略图也有时间戳,但它使用当前时间戳,这使得缩略图名称与原始文件名不同。所以我认为解决方法是为缩略图自定义文件名。基本上有'thumb_'+'原始文件名'。version:thumbdoprocess:resize_to_limit=>[110,nil]deffull_filename(for_file=model.image_value.file)'thumb_'+File.basename(model.image_value.path).to_sendend

ruby - 是否有类似于 Nokogiri 的东西来解析 Ruby 代码?

Nokogiri很棒。我可以做#css('.bla')这样的事情,它会返回第一个匹配的元素。现在我们需要对Ruby源代码进行一些解析-查找类中的所有方法等。我们正在使用ruby_parsergem,但它所做的只是梳理你的源代码并吐出S表达式。对于这些S表达式,是否有类似Nokogiri的东西可以执行诸如“为找到的名为‘foo’的第一个方法返回S表达式”之类的事情? 最佳答案 我唯一能想到的是AdamSanderson'sSExpPathlibrary. 关于ruby-是否有类似于Noko

ruby-on-rails - 为什么 Rails 不将某些 gem 锁定到特定版本?

当我生成一个新的Rails4项目时,Gemfile看起来像这样:source'https://rubygems.org'#BundleedgeRailsinstead:gem'rails',github:'rails/rails'gem'rails','4.0.2'#UsepostgresqlasthedatabaseforActiveRecordgem'pg'#UseSCSSforstylesheetsgem'sass-rails','~>4.0.0'#UseUglifierascompressorforJavaScriptassetsgem'uglifier','>=1.3.0'#

ruby-on-rails - 是否有返回第一个 truthy 映射值的惯用 ruby​​/rails 方法?

我有一个对象数组,其中一些响应:description,我想从第一个对象中获取真实描述的描述。我可以这样做:objects.detect{|o|o.try(:description)}.description或者这个:objects.map{|o|o.try(:description)}.detect{|o|o}但第一个不是DRY(描述在那里两次),第二个在找到值之前遍历整个数组。ruby标准库或Rails的扩展中是否有任何东西可以让我做这样的事情:objects.detect_and_return{|o|o.try(:description)}我知道我可以很容易地编写它,但标准库足够

ruby - 确定程序是否在 Debug模式下运行

我使用RubyMine编写和调试我的Ruby2.0代码。它为此目的使用ruby​​-debug-ide。我想知道程序是否在Debug模式下运行。我知道有Ruby$DEBUG全局变量,但据我所知,ruby-debug-ide并没有改变它,因为它没有使用-druby标志。如果我使用Rubymine调试我的文件,执行的命令如下所示:/home/user/.rvm/rubies/ruby-2.0.0-p353/bin/ruby-eat_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)/home/user

ruby - 与 Webdriver 相比,Watir-Webdriver 和 Capybara 是否存在性能问题?

我即将将我的测试自动化语言从Java更改为Ruby(我有一份新工作,其中Ruby更适合技术堆栈)。我在Java和Webdriver方面有很多经验,但可以看到Watir和Capybara等包装器在Ruby中的使用似乎比直接访问WebdriverAPI更多。我对使用此类库的关注是性能。我通常会尝试将第三方网格(例如Saucelabs)集成到我的测试框架中,但了解到selenium网络元素对象的缓存很重要,因为不断查找元素会对性能产生影响。如果我使用像Capybara这样的库,我会失去控制缓存策略的能力吗?我之前调查过Geb,发现该框架不断地重新创建网络元素而不是缓存,并且它在更改该行为方面

ruby - python -i 的 IRB 模拟

我想使用IRB运行脚本然后给我一个交互式提示。我在Python中使用python-ixy.py执行此操作,但是irbxy.rb在执行后退出。>python--help-iWhenascriptispassedasfirstargumentorthe-coptionisused,enterinteractivemodeafterexecutingthescriptorthecommand 最佳答案 irb-rxy.rb它只需要在给你一个正常的IRB提示之前提到的文件。 关于ruby-pyt

Ruby 1.9.3 - CSV.table 如何知道 CSV 文件中是否没有 header ?

我一直在用CSV.table做一些测试。我有两个几乎相同的小CSV文件,但其中一个缺少标题行。当我对带有标题行的CSV文件运行CSV.table时,一切都按预期进行。当我针对没有标题行的CSV文件运行它时,我得到:NoMethodError:undefinedmethod`encode'fornil:NilClass我用不同类型的数据、不同类型的header尝试了这个,并得到了相同的结果。我很好奇CSV.table的魔力。如果我使用CSV.parse并将标题设置为true,那么无论如何它总是使第一行成为标题。所以,我一直在使用CSV.table来检查导入的CSV文件是否有标题行,但我对